17 research outputs found

    Um processo baseado em redes bayesianas para avaliação da aplicação do scrum em projetos de software.

    Get PDF
    O aumento na utilização de métodos ágeis tem sido motivado pela necessidade de respostas rápidas a demandas de um mercado volátil na área de software. Em contraste com os tradicionais processos dirigidos a planos, métodos ágeis são focados nas pessoas, orientados à comunicação, flexíveis, rápidos, leves, responsivos e dirigidos à aprendizagem e melhoria contínua. Como consequência, fatores subjetivos tais como colaboração, comunicação e auto-organização são chaves para avaliar a maturidade do desenvolvimento de software ágil. O Scrum, focado no gerenciamento de projetos, é o método ágil mais popular. Ao ser adotado por uma equipe, a aplicação do Scrum deve ser melhorada continuamente sendo complementado com práticas e processos de desenvolvimento e gerenciamento ágeis. Apesar da Reunião de Retrospectiva, evento do Scrum, ser um período reservado ao final de cada sprint para a equipe refletir sobre a melhoria do método de desenvolvimento, não há procedimentos claros e específicos para a realização da mesma. Na literatura, há diversas propostas de soluções, embora nenhuma consolidada, para tal. Desta forma, o problema em questão é: como instrumentar o Scrum para auxiliar na melhoria contínua do método de desenvolvimento com foco na avaliação do processo de engenharia de requisitos, equipe de desenvolvimento e incrementos do produto? Nesta tese, propõe-se um processo sistemático baseado em redes bayesianas para auxiliar na avaliação da aplicação do Scrum em projetos de software, instrumentando o método para auxiliar na sua melhoria contínua com foco na avaliação do processo de engenharia de requisitos, equipe de desenvolvimento e incrementos do produto. A rede bayesiana foi construída por meio de um processo de Engenharia de Conhecimento de Redes Bayesianas. Uma base de dados, elicitada de dezoito projetos reais de uma empresa, foi coletada por meio de um questionário. Essa base de dados foi utilizada para avaliar a acurácia da predição da Rede Bayesiana. Como resultado, a previsão foi correta para quatorze projetos (acurácia de 78%). Dessa forma, conclui-se que o modelo é capaz de realizar previsões com acurácia satisfatória e, dessa forma, é útil para auxiliar nas tomadas de decisões de projetos Scrum.The use of Agile Software Development (ASD) is increasing to satisfy the need to respond to fast moving market demand and gain market share. In contrast with traditional plan-driven processes, ASD are people and communication-oriented, flexible, fast, lightweight, responsive, driven for learning and continuous improvement. As consequence, subjective factors such as collaboration, communication and self-management are key to evaluate the maturity of agile adoption. Scrum, which is focused on project management, is the most popular agile method. Whenever adopted, the usage of Scrum must be continuously improved by complementing it with development and management practices and processes. Even though the Retrospective Meeting, a Scrum event, is a period at the end of each sprint for the team to assess the development method, there are no clear and specific procedures to conduct it. In literature, there are several, but no consolidated, proposed solutions to assist on ASD adoption and assessment. Therefore, the research problem is: how to instrument Scrum to assist on the continuous improvement of the development method focusing on the requirements engineering process, development team and product increment? In this thesis, we propose a Bayesian networks-based process to assist on the assessment of Scrum-based projects, instrumenting the software development method to assist on its continuous improvement focusing on the requirements engineering process, development team and product increments. We have built the Bayesian network using a Knowledge Engineering Bayesian Network (KEBN) process that calculates the customer satisfaction given factors of the software development method. To evaluate its prediction accuracy, we have collected data from 18 industry projects from one organization through a questionnaire. As a result, the prediction was correct for fourteen projects (78% accuracy). Therefore, we conclude that the model is capable of accurately predicting the customer satisfaction and is useful to assist on decision-support on Scrum projects

    Continuous Learning of the Structure of Bayesian Networks: A Mapping Study

    Get PDF
    Bayesian networks can be built based on knowledge, data, or both. Independent of the source of information used to build the model, inaccuracies might occur or the application domain might change. Therefore, there is a need to continuously improve the model during its usage. As new data are collected, algorithms to continuously incorporate the updated knowledge can play an essential role in this process. In regard to the continuous learning of the Bayesian network’s structure, the current solutions are based on its structural refinement or adaptation. Recent researchers aim to reduce complexity and memory usage, allowing to solve complex and large-scale practical problems. This study aims to identify and evaluate solutions for the continuous learning of the Bayesian network’s structures, as well as to outline related future research directions. Our attention remains on the structures because the accurate parameters are completely useless if the structure is not representative

    Issues in the Probability Elicitation Process of Expert-Based Bayesian Networks

    Get PDF
    A major challenge in constructing a Bayesian network (BN) is defining the node probability tables (NPT), which can be learned from data or elicited from domain experts. In practice, it is common not to have enough data for learning, and elicitation from experts is the only option. However, the complexity of defining NPT grows exponentially, making their elicitation process costly and error-prone. In this research, we conducted an exploratory study through a literature review that identified the main issues related to the task of probability elicitation and solutions to construct large-scale NPT while reducing the exposure to these issues. In this chapter, we present in detail three semiautomatic methods that reduce the burden for experts. We discuss the benefits and drawbacks of these methods, and present directions on how to improve them

    AVALIAÇÃO DE MODELOS DE PREDITIVOS DE REGRESSÃO PARA ESTIMAR ESFORÇO DE SOFTWARE

    Get PDF
    Effort estimation is a critical task in the software development life cycle. Inaccurate estimations might cause customer dissatisfaction and reduce product quality. In this paper, we evaluate the use of machine learning-based techniques to estimate effort for software tasks. We executed an empirical study based on the [Desharnais 1989] dataset and compared the predictions of three models: Linear Regression (LR), Support Vector Machine (SVM) and K-Nearest Neighbor (KNN) algorithms. The results of our study show that some software metrics are more important to estimate software effort than others. Also based on the quadratic error, which calculates how close the distance of a square regression line is to a set of points, we can successfully estimate 76% of the software effort for the dataset studied, where the predictive models created show only 3% difference between them.A estimativa de esforço é uma tarefa crítica no ciclo de vida de desenvolvimento de software. Estimativas imprecisas podem causar insatisfação do cliente e reduzir a qualidade do produto. Neste artigo, avaliamos o uso de técnicas baseadas em aprendizado de máquina para estimar o esforço para tarefas de software. Executamos um estudo empírico baseado no conjunto de dados [Desharnais 1989] e comparamos as previsões de três modelos: Regressão Linear (LR), Support Vector Machine (SVM) e K-Nearest Neighbor (KNN). Os resultados do nosso estudo mostram que algumas métricas de software são mais importantes para estimar o esforço de software do que outras. Também com base no erro quadrático, que calcula quão próxima a distância de uma linha de regressão quadrada é de um conjunto de pontos, podemos estimar com sucesso 76% do esforço de software para o conjunto de dados estudado, onde os modelos preditivos criados mostram apenas 3% diferença entre eles

    A Smart Trust Management Method to Detect On-Off Attacks in the Internet of Things

    No full text
    Internet of Things (IoT) resources cooperate with themselves for requesting and providing services. In heterogeneous and complex environments, those resources must trust each other. On-Off attacks threaten the IoT trust security through nodes performing good and bad behaviors randomly, to avoid being rated as a menace. Some countermeasures demand prior levels of trust knowledge and time to classify a node behavior. In some cases, a malfunctioning node can be mismatched as an attacker. In this paper, we introduce a smart trust management method, based on machine learning and an elastic slide window technique that automatically assesses the IoT resource trust, evaluating service provider attributes. In simulated and real-world data, this method was able to identify On-Off attackers and fault nodes with a precision up to 96% and low time consumption

    A method based on a probabilistic model to assist in the detection of problems using Scrum in software development projects.

    No full text
    Ha uma taxa elevada de projetos de desenvolvimento de software que não alcançam seus objetivos. Quanto antes os problemas no projeto forem detectados, maior sua probabilidade de sucesso e menor sera o prejuízo financeiro e de tempo. A utilização de metodologias e arcabouços ágeis em projetos de desenvolvimento de software vem se popularizando por possuir praticas, regras e princípios leves que agilizam a detecção de problemas e permitem mudanças frequentes nos projetos. O arcabouço ágil mais popular e o Scrum. Mesmo o Scrum tendo praticas, regras e princípios simples, profissionais encontram dificuldades em aplica-lo na industria, principalmente em equipes acostumadas ao modelo tradicional de gerencia de projetos. Para auxiliar o ScrumMaster no seu papel de facilitar a aplicação do Scrum, um método para detectar problemas na sua aplicação em projetos de desenvolvimento de software e apresentado nesta dissertação. Trata-se de um método cíclico que utiliza um modelo probabilístico que serve para prover dados referentes ao projeto para o ScrumMaster. Dada a capacidade de modelar incertezas e sua flexibilidade para modificacoes, Redes Bayesianas foram utilizadas para implementar o modelo. O modelo foi validado a partir de testes em cenários, e o método a partir de um estudo de caso em dois projetos de uma empresa. Os resultados obtidos demonstram que a utilização do método e capaz de detectar problemas na aplicação do Scrum com custo-beneficio positivo e útil para guiar a equipe na busca por excelência.There is a high rate of software development projects that fail. Whenever problems can be detected ahead of time, projects may have better chances of success, and therefore save money and time. Recently, the usage of agile methodologies and frameworks have been increasing due to its lightweight practices, rules and principles that allow frequent changes during project execution. Scrum is the most popular agile framework. Even though it is composed of simple practices, rules and principles, professionals find it hard to apply it in the industry, specially, in teams used to traditional project management. To help ScrumMasters to fulfill their duty of facilitating the usage of Scrum, this dissertation presents a method to detect problems regarding its application in software development projects. The method is cyclic and uses a probabilistic model to present project data to the ScrumMaster. Given its capacity to handle uncertainties and flexibility to modifications, Bayesian Networks were used to implement the model. The model was validated using scenarios to test it and the method through a case study in two projects in a company. The results show that using the method helps to detect problem in software development projects using Scrum with a positive cost-benefit and useful to guide the team to achieve excellence

    A Model-Based Approach to Support Validation of Medical Cyber-Physical Systems

    No full text
    Medical Cyber-Physical Systems (MCPS) are context-aware, life-critical systems with patient safety as the main concern, demanding rigorous processes for validation to guarantee user requirement compliance and specification-oriented correctness. In this article, we propose a model-based approach for early validation of MCPS, focusing on promoting reusability and productivity. It enables system developers to build MCPS formal models based on a library of patient and medical device models, and simulate the MCPS to identify undesirable behaviors at design time. Our approach has been applied to three different clinical scenarios to evaluate its reusability potential for different contexts. We have also validated our approach through an empirical evaluation with developers to assess productivity and reusability. Finally, our models have been formally verified considering functional and safety requirements and model coverage

    A Comparative Analysis of Agile Teamwork Quality Measurement Models

    Get PDF
    Multiple models (or instruments) for measuring Teamwork Quality (TWQ) for Agile Software Development can be found in the literature. Regardless, such models have different constructs and measures, with no empirical evidence for comparing them. This study analyzed two agile TWQ models, resulting in equivalent results. We mapped the models\u27 variables given their definitions.We then collected data using both a Bayesian Network model, namely the TWQ-BN model, and Structural Equation Modeling, namely the TWQ-SEM model. We interviewed 162 team members from two software development companies. We analyzed the data using the Bland-Altman method. We obtained enough evidence to conclude that the results for Communication, Coordination, Cohesion and Mutual Support variables are not equivalent. On the other hand, we did not have enough evidence to claim that the models do not agree for measuring Effort and Balance of member contribution variables. The results of this study detail how two state-of-the-art agile TWQs compare in terms of their measures as well as potential research areas for further investigation

    Um método para implementar redes bayesianas baseadas em nós ranqueados

    No full text
    Recentemente, redes Bayesianas estão se tornando populares para auxiliar na tomada de decisões. No entanto, ainda há desafios para sua aplicação prática em problemas de larga escala. Um dos desafios refere-se à definição das funções de probabilidade. Na literatura, utiliza-se o conceito de nós ranqueados baseado em distribuição Normal truncada para simplificar a definição de funções de probabilidade a partir do conhecimento de especialistas. Por outro lado, na literatura, não há detalhes de uma solução completa para nós ranqueados. Atualmente, esta solução está disponível apenas em uma ferramenta comercial. A contribuição principal deste trabalho refere-se à demonstração detalhada de um método para definição de funções de probabilidade para nós ranqueados, apresentando os passos necessários para misturar distribuições Normais truncadas e converter a distribuição resultante para uma tabela de probabilidade dos nós. Para validação, os resultados da nossa solução foram comparados com a solução disponível no mercado, sendo equivalentes, dentro de uma margem de erro de 5%. De acordo com os testes realizados, a solução proposta alcançou performance melhor que a solução comercial existente

    O ensino de engenharia de software no nível superior: um mapeamento sistemático

    No full text
    Segundo Pressman e Maxim (2016), há décadas atrás dificilmente se imaginaria que o software tornaria-se indispensável para negócios, ciência e engenharia. De acordo com os referidos autores, a Engenharia de Software (SE) tornou-se pilar dos sistemas de informação, essenciais para diversas áreas da atividade humana. Entretanto, para os autores Desai e Joshi (2012), ensinar os tópicos dessa área é um desafio em todo o mundo tendo em vista as suas características composta por conteúdos fortemente teóricos e de difícil demonstração. Por essas razões, pesquisadores em todo o mundo têm desenvolvido, ao longo dos anos, ferramentas e metodologias com o propósito de melhorar o processo ensino-aprendizagem em Engenharia de Software. O presente trabalho, sumariza os resultados de uma pesquisa do tipo mapeamento sistemático da literatura acerca de ferramentas e metodologias utilizadas em todo o mundo com a finalidade de melhorar o processo ensino-aprendizagem em tópicos relacionados à Engenharia de Software em dois conhecidos canais de publicação. Os resultados demonstram que os EUA se destacam como os maiores publicadores e que nos canais pesquisados, os trabalhos centraram-se em abordagens metodológicas para melhorar o aprendizado dos estudantes
    corecore